package com.nk.system.service;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.nk.system.beans.DropdownBean;
import com.nk.system.beans.MessageErrorBean;
import com.nk.system.beans.ReportWaterBill;
import com.nk.system.beans.TransactionsBean;
import com.nk.system.beans.TransactionsIdBean;
import com.nk.system.beans.UsersBean;
import com.nk.system.beans.VillagerBean;

public interface TransactionsService {
	@Transactional
	public List<DropdownBean> getZone();
	@Transactional
	public UsersBean authentication(String username, String password);
	@Transactional
	public List<UsersBean> getUsers(UsersBean usersBean);
	@Transactional
	public List<VillagerBean> getVillager(VillagerBean villagerBean);
	@Transactional
	public List<TransactionsBean> getTransactions(TransactionsBean transactionsBean);
	@Transactional
	public boolean checkDuplicateTransaction(TransactionsIdBean transactionsIdBean);
	@Transactional
	public List<MessageErrorBean> createTransactions(TransactionsBean transactionsBean);
	@Transactional
	public List<MessageErrorBean> createTransactions(List<TransactionsBean> transactionsBeanList);
	/*@Transactional
	public List<MessageErrorBean> updateTransactions(List<TransactionsBean> transactionsBeanList);*/
	@Transactional
	public List<TransactionsBean> getTransactionsForPrint(TransactionsBean transactionsBean);
	@Transactional
	public List<MessageErrorBean> createVillager(VillagerBean villagerBean);
	@Transactional
	public List<MessageErrorBean> updateVillager(VillagerBean villagerBean);
	@Transactional
	public List<MessageErrorBean> deleteVillager(VillagerBean villagerBean);
	@Transactional
	public ReportWaterBill searchReportWaterBill(TransactionsBean transactionsBean);
	@Transactional
	public ReportWaterBill searchReportLekyer(TransactionsBean transactionsBean);
	@Transactional
	public List<MessageErrorBean> deleteTransaction(TransactionsBean transactionsBean);
}
